.\" -*- nroff -*-
.\" Copyright 2010 Cisco Systems, Inc.  All rights reserved.
.\" Copyright 2007-2008 Sun Microsystems, Inc.
.\" Copyright (c) 1996 Thinking Machines Corporation
.\" Copyright (c) 2020      Google, LLC. All rights reserved.
.\" $COPYRIGHT$
.TH MPI_Win_test 3 "#OMPI_DATE#" ""#PACKAGE_VERSION#"" "#PACKAGE_NAME#"
.SH NAME
\fBMPI_Win_test\fP \- Attempts to complete an RMA exposure epoch; a nonblocking version of MPI_Win_wait

.SH SYNTAX
.ft R
.SH C Syntax
.nf
#include <mpi.h>
int MPI_Win_test(MPI_Win \fIwin\fP, int *\fIflag\fP)

.fi
.SH Fortran Syntax
.nf
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_WIN_TEST(\fI WIN, FLAG, IERROR\fP)
	INTEGER \fI WIN, IERROR\fP

.fi
.SH Fortran 2008 Syntax
.nf
USE mpi_f08
MPI_Win_test(\fIwin\fP, \fIflag\fP, \fIierror\fP)
	TYPE(MPI_Win), INTENT(IN) :: \fIwin\fP
	LOGICAL, INTENT(OUT) :: \fIflag\fP
	INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP

.fi
.SH INPUT PARAMETERS
.ft R
.TP 1i
win
Window object (handle)


.SH OUTPUT PARAMETERS
.ft R
.TP 1i
IERROR
Fortran only: Error status (integer).
.TP 1i
flag
The returning state of the test for epoch closure.


.SH DESCRIPTION
.ft R
MPI_Win_test is a one-sided MPI communication synchronization call, a
nonblocking version of MPI_Win_wait. It returns \fIflag = true\fP if
MPI_Win_wait would return, \fIflag = false\fP otherwise. The effect of return of MPI_Win_test with \fIflag = true\fP is the same as the effect of a return of MPI_Win_wait. If \fIflag = false\fP is returned, then the call has no visible effect.
.sp
Invoke MPI_Win_test only where MPI_Win_wait can be invoked. Once
the call has returned \fIflag = true\fP, it must not be invoked anew, until the window is posted anew.


.SH ERRORS
Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument.
.sp
Before the error value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Win_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error.

.SH SEE ALSO
MPI_Win_post
MPI_Win_wait
.br

